package br.com.abelha.manager;

import java.util.Calendar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.CheckBox;
import android.widget.Spinner;
import br.com.abelha.manager.db.DAOFichaB;
import br.com.abelha.manager.entity.FichaDMed;
import br.com.abelha.manager.entity.Pessoa;
import java.util.ArrayList;
import java.util.List;

public class FichaMed extends Activity {

	Spinner procedimentos;
	CheckBox chkpuericultura;
	CheckBox chkprenatal_1_trim;
	CheckBox chkprenatal_2_trim;
	CheckBox chkprenatal_3_trim;
	CheckBox chkprevencao_cancer;
	CheckBox chkdiabetes_diagnostico;
	CheckBox chkdiabetes_acompanhamento;
	CheckBox chk_dst;
	CheckBox chk_aids;
	CheckBox chk_ha;
	CheckBox chk_ham;
	CheckBox chk_tuberculose_novo;
	CheckBox chk_tuberculose_acompanhamento;
	CheckBox chk_tuberculose_alta_admin;
	CheckBox chk_tuberculose_alta_super;
	
	CheckBox chk_mulher;
	CheckBox chk_puerperio;
	
	CheckBox chk_fornec_diagragma;
	CheckBox chk_diu;
	CheckBox chk_urgencia_basica_remocao;
	CheckBox chk_urgencia_basica;
	CheckBox chk_urgencia_basica_observacao;

	
	CheckBox chk_consulta_domiciliar;
	CheckBox chk_outros;
	
	CheckBox chk_patologia_clinica;
	CheckBox chk_citopatologia_vaginal;
	CheckBox chk_ultrasson;
	CheckBox chk_outros_exames;
	
	CheckBox chk_atend_especializado;
	CheckBox chk_internacao_hospitalar;
	CheckBox chk_urgencia_emergencia;
	
	CheckBox chkpneumonia_menor_5;
	CheckBox chk_valvulopatia;
	CheckBox chk_infarto_agudo;
	CheckBox chk_dheg;
	CheckBox chk_doenca_perinatal;
	CheckBox chk_fratura_menor_50;
	CheckBox chk_meningite_tuberculosa;
	CheckBox chk_hanseniase_incapacidade;
	CheckBox chk_citologia;
	
	private int year, month, day;
	
	Pessoa pessoa;

	Button pickDate;
	Button salvar, cancelar;
	private OnClickListener listenerSalvar = new OnClickListener() {
		public void onClick(View v) {
			
			if(!camposNulosENaoPreenchidos()){
				salvarFichaCrianca();
				AlertDialog.Builder builder = new AlertDialog.Builder(FichaMed.this);
		    	builder.setTitle("PFS");
		    	builder.setMessage("Ficha Médico Salva com sucesso");
		    	builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {  
				      public void onClick(DialogInterface dialog, int which) {  
				       retorneAEscolha();
				    } });
		    	
		    	builder.show();
				
				
			}else{
				exibirMensagem("PFS", "Favor preencher todos os campos");
			}
		}

	};
	private OnClickListener listenerCancelar = new OnClickListener() {
		public void onClick(View v) {
			Intent i = new Intent(FichaMed.this, MenuFichas.class);
	 		startActivity(i);
		}

	};
	
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.fichadmed);

		
		chkpuericultura = (CheckBox) findViewById(R.id_med.chkpuericultura);
		chkprenatal_1_trim = (CheckBox) findViewById(R.id_med.chkprenatal_1_trim);
		chkprenatal_2_trim = (CheckBox) findViewById(R.id_med.chkprenatal_2_trim);
		chkprenatal_3_trim = (CheckBox) findViewById(R.id_med.chkprenatal_3_trim);
		chkprevencao_cancer = (CheckBox) findViewById(R.id_med.chkprevencao_cancer);
		chkdiabetes_diagnostico = (CheckBox) findViewById(R.id_med.chkdiabetes_diagnostico);
		chkdiabetes_acompanhamento = (CheckBox) findViewById(R.id_med.chkdiabetes_acompanhamento);
		chk_dst = (CheckBox) findViewById(R.id_med.chk_dst);
		chk_aids = (CheckBox) findViewById(R.id_med.chk_ha);
		chk_ha = (CheckBox) findViewById(R.id_med.chk_ha);
		chk_ham = (CheckBox) findViewById(R.id_med.chk_ham);
		chk_tuberculose_novo= (CheckBox) findViewById(R.id_med.chk_tuberculose_novo);
		chk_tuberculose_acompanhamento= (CheckBox) findViewById(R.id_med.chk_tuberculose_acompanhamento);
		chk_tuberculose_alta_admin= (CheckBox) findViewById(R.id_med.chk_tuberculose_alta_admin);
		chk_tuberculose_alta_super= (CheckBox) findViewById(R.id_med.chk_tuberculose_alta_super);
		
		
		chk_mulher = (CheckBox) findViewById(R.id_med.chk_mulher);
		chk_puerperio = (CheckBox) findViewById(R.id_med.chk_puerperio);
		
		chk_fornec_diagragma= (CheckBox) findViewById(R.id_med.chk_fornec_diagragma);
		chk_diu= (CheckBox) findViewById(R.id_med.chk_diu);
		chk_urgencia_basica_remocao= (CheckBox) findViewById(R.id_med.chk_urgencia_basica_remocao);
		chk_urgencia_basica= (CheckBox) findViewById(R.id_med.chk_urgencia_basica);
		chk_urgencia_basica_observacao= (CheckBox) findViewById(R.id_med.chk_urgencia_basica_observacao);
		
		chk_consulta_domiciliar = (CheckBox) findViewById(R.id_med.chk_consulta_domiciliar);
		chk_outros = (CheckBox) findViewById(R.id_med.chk_outros);
		
		chk_patologia_clinica= (CheckBox) findViewById(R.id_med.chk_patologia_clinica);
		chk_citopatologia_vaginal= (CheckBox) findViewById(R.id_med.chk_citopatologia_vaginal);
		chk_ultrasson= (CheckBox) findViewById(R.id_med.chk_ultrasson);
		chk_outros_exames= (CheckBox) findViewById(R.id_med.chk_outros_exames);
		
		chk_atend_especializado= (CheckBox) findViewById(R.id_med.chk_atend_especializado);
		chk_internacao_hospitalar= (CheckBox) findViewById(R.id_med.chk_internacao_hospitalar);
		chk_urgencia_emergencia= (CheckBox) findViewById(R.id_med.chk_urgencia_emergencia);
		
		chkpneumonia_menor_5 = (CheckBox) findViewById(R.id_med.chkpneumonia_menor_5);
		chk_valvulopatia = (CheckBox) findViewById(R.id_med.chk_valvulopatia);
		chk_infarto_agudo = (CheckBox) findViewById(R.id_med.chk_infarto_agudo);
		chk_dheg = (CheckBox) findViewById(R.id_med.chk_dheg);
		chk_doenca_perinatal = (CheckBox) findViewById(R.id_med.chk_doenca_perinatal);
		chk_fratura_menor_50 = (CheckBox) findViewById(R.id_med.chk_fratura_menor_50);
		chk_meningite_tuberculosa = (CheckBox) findViewById(R.id_med.chk_meningite_tuberculosa);
		chk_hanseniase_incapacidade = (CheckBox) findViewById(R.id_med.chk_hanseniase_incapacidade);
		chk_citologia = (CheckBox) findViewById(R.id_med.chk_citologia);
		
		  // Spinner Causa
		procedimentos = (Spinner) findViewById(R.id_med.spinner_procedimentos);
		ArrayAdapter proc = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, 
				  new String[] {"Curativo", "Atendimento", "Outros atendimentos"});
		procedimentos.setAdapter(proc);

		final Calendar cal = Calendar.getInstance();
		year = cal.get(Calendar.YEAR);
		month = cal.get(Calendar.MONTH);
		day = cal.get(Calendar.DAY_OF_MONTH);
		
/*		dataConsulta.setText(new StringBuilder().append(day).append('-')
				.append(month + 1).append('-').append(year));*/
		
		salvar = (Button) findViewById(R.id.Button_Save);
		cancelar = (Button) findViewById(R.id.Button_Cancelar);

		salvar.setOnClickListener(listenerSalvar);
		cancelar.setOnClickListener(listenerCancelar);

		pickDate = (Button) findViewById(R.id.id_date_consulta_button);
		pickDate.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				showDialog(1);
			}

		});

	}
	
	public boolean camposNulosENaoPreenchidos(){
		
		return false; 

	}
	
	protected void retorneAEscolha() {
		Intent i = new Intent(FichaMed.this, MenuFichas.class);
 		startActivity(i);
		
	}

	public void exibirMensagem(String titulo, String mensagem){
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
    	builder.setTitle(titulo);
    	builder.setMessage(mensagem);
    	builder.setNeutralButton("OK", null);
    	builder.show();
	}

	protected void salvarFichaCrianca() {

		DAOFichaB<FichaDMed> daoFichaB = new DAOFichaB<FichaDMed>(this);
		FichaDMed FichaDMed = new FichaDMed();
		
		try {
			
			FichaDMed.setId_fichaA(pessoa.getId_fichaA());
			FichaDMed.setId_paciente(pessoa.getId());
			
			if(chkpuericultura.isChecked()){
				FichaDMed.setPuericultura(1);
			}
			if(chkprenatal_1_trim.isChecked()){
					FichaDMed.setPre_natal1(1);
			}
			if(chkprenatal_2_trim.isChecked()){
					FichaDMed.setPre_natal2(1);
			}
			if(chkprenatal_3_trim.isChecked()){
					FichaDMed.setPre_natal3(1);
			}
			if(chk_dst.isChecked()){
					FichaDMed.setDst(1);
			}
			if(chk_aids.isChecked()){
					FichaDMed.setAids(1);
			}		
			if(chk_ha.isChecked()){
					FichaDMed.setHipertensao_arterial(1);
			}
			if(chk_ham.isChecked()){
					FichaDMed.setHanseniase(1);		
			}
			
			if(chk_tuberculose_novo.isChecked()){
				FichaDMed.setTuberculose_caso_novo(1);	
			}
			
			
			if(chk_tuberculose_acompanhamento.isChecked()){
				FichaDMed.setTuberculose_acompanhamento(1);
			}
			if(chk_tuberculose_alta_admin.isChecked()){
				FichaDMed.setTuberculose_alta_admin(1);
			}
			if(chk_tuberculose_alta_super.isChecked()){
				FichaDMed.setTuberculose_alta_admin(1);
			}
			
			
			if(chk_mulher.isChecked()){
					FichaDMed.setMulher(1);
			}
			if(chk_puerperio.isChecked()){
					FichaDMed.setPuerperio(1);
			}
			
			if(chk_fornec_diagragma.isChecked()){
				FichaDMed.setForn_diafragma(1);
			}
			
			if(chk_diu.isChecked()){
				FichaDMed.setForn_diafragma(1);
			}
			
			if(chk_urgencia_basica_remocao.isChecked()){
				FichaDMed.setUrg_basicas(1);
			}
			
			if(chk_urgencia_basica.isChecked()){
				FichaDMed.setUrg_bas(1);
			}
			
			if(chk_urgencia_basica_observacao.isChecked()){
				FichaDMed.setUrg_bas_observacao(1);
			}
			

			if(chk_consulta_domiciliar.isChecked()){
					FichaDMed.setConsulta_domiciliar(1);
			}
			if(chk_outros.isChecked()){
					FichaDMed.setOutros_tipos(1);
			}

			
			if(chk_patologia_clinica.isChecked()){
				FichaDMed.setUrg_bas_observacao(1);
			}
			
			if(chk_citopatologia_vaginal.isChecked()){
				FichaDMed.setUrg_bas_observacao(1);
			}
			
			if(chk_ultrasson.isChecked()){
				FichaDMed.setUrg_bas_observacao(1);
			}
			
			if(chk_outros_exames.isChecked()){
				FichaDMed.setUrg_bas_observacao(1);
			}
			
			if(chk_atend_especializado.isChecked()){
				FichaDMed.setUrg_bas_observacao(1);
			}
			
			if(chk_internacao_hospitalar.isChecked()){
				FichaDMed.setUrg_bas_observacao(1);
			}
			
			if(chk_urgencia_emergencia.isChecked()){
				FichaDMed.setUrg_bas_observacao(1);
			}
			
			
			if(chkpneumonia_menor_5.isChecked()){
				FichaDMed.setPneumonia_menor5(1);
			}	
			if(chk_valvulopatia.isChecked()){
				FichaDMed.setValvulopatia_reum(1);
			}
			if(chk_infarto_agudo.isChecked()){
				FichaDMed.setInfarto_agudo(1);
			}
			if(chk_dheg.isChecked()){
				FichaDMed.setDheg(1);
			}
			if(chk_doenca_perinatal.isChecked()){
				FichaDMed.setDoenca_perinatal(1);
			}
			if(chk_fratura_menor_50.isChecked()){
				FichaDMed.setFratura_femur_50(1);
			}
			if(chk_meningite_tuberculosa.isChecked()){
				FichaDMed.setMeningite_tuberculosa(1);
			}
			if(chk_outros.isChecked()){
				FichaDMed.setOutros_tipos(1);										
			}					
			if(chk_hanseniase_incapacidade.isChecked()){
				FichaDMed.setHanseniase_incapac(1);
			}
			if(chk_citologia.isChecked()){
				FichaDMed.setCitologia_onc(1);
			}

				daoFichaB.delete(FichaDMed);
				daoFichaB.insert(FichaDMed);
			
				
				
			} catch (Throwable e) {
				e.printStackTrace();
			}
			
			
		}

	protected Dialog onCreateDialog(int id) {
		switch (id) {
		case 1:
			return new DatePickerDialog(this, dateListener, year, month, day);

		}
		return null;

	}

	private DatePickerDialog.OnDateSetListener dateListener = new DatePickerDialog.OnDateSetListener() {

		@Override
		public void onDateSet(DatePicker view, int yr, int monthOfYear,
				int dayOfMonth) {
			year = yr;
			month = monthOfYear;
			day = dayOfMonth;
			//updateDate();
		}
	};

/*	private void updateDate() {
		dataConsulta.setText(new StringBuilder().append(day).append('-')
				.append(month + 1).append('-').append(year));

	}*/
	
}
